perm filename CALL[D,LES] blob
sn#022508 filedate 1973-01-30 generic text, type T, neo UTF8
00100 1973 Jan 29 Call Translation L. Earnest
00200
00250
00300 Reading Frost's draft UUO manual reminds me that CALLIs and CALLs are
00400 handled in a very silly and inefficient way. There should only be
00500 one set of instructions that are formatted like CALLI but with
00600 mnemonics like CALL. That is, instead of writing "CALLI AC,10" or
00700 "CALL AC,[SIXBIT/WAIT/]", you would say "WAIT AC,". The latter form
00800 is as efficient as CALLI, as easy to remember as CALL, and easier to
00900 write.
01000
01100 These opdefs would have to be put into the symbol tables of the
01200 various processors, of course. This would lead to some conflicts in
01300 existing programs, for example where labels with the same names
01400 appear in tables where they can be interpreted as instructions. Such
01500 conflicts would be few in number, I expect, and could easily be found
01600 and fixed.
01700
01800 Unfortunately, for reasons of history and compatibility, we will have
01900 to continue supporting both CALLs and CALLIs in the Monitor. Given
02000 that the CALL tables must exist there, we might as well exploit them
02100 to facilitate communication with the various processors. I propose
02200 the introduction of a new translation CALLI named, say, "TRANSI AC,"
02300 that causes the sixbit symbol in AC to be looked up in the Monitor
02400 symbol table and replaced with the corresponding CALLI, if any, or 0
02500 otherwise. This instruction could be used by FAIL or any other
02600 processor to translate an unrecognized operator.
02700
02800 To aid in debugging with RAID or whatever, the inverse translation
02900 should also be available. Thus, "TRANIS AC," would convert the
03000 integer in the right half of AC to the corresponding sixbit mnemonic,
03100 if any, or 0.
03200
03300 This scheme could even be expanded a bit to make some other exotic
03400 UUO mnemonics, such as the various flavors of TTYUUO, available to
03500 the world.